package com.yc.cloud.openai.portal.service;

import java.util.List;

import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yc.cloud.common.basic.dto.BaseQueryParam;
import com.yc.cloud.openai.entity.GptDatasetCollection;
import com.yc.cloud.openai.portal.dto.gpt.request.GptDatasetCollectionListParam;
import com.yc.cloud.openai.portal.dto.request.GptDatasetCollectionCreateRequest;
import com.yc.cloud.openai.portal.dto.request.GptDatasetCollectionDeleteRequest;
import com.yc.cloud.openai.portal.vo.gpt.GptDatasetCollectionVo;

/**
 * <p>
 * 知识库内容集合 服务类
 * </p>
 *
 * @author Yancy
 * @since 2025-01-08
 */
public interface GptDatasetCollectionService extends IService<GptDatasetCollection> {

  /**
   * 查询列表
   * 
   * @param queryParam 查询条件
   * @param param        查询条件
   * @return 数据信息
   */
  IPage<GptDatasetCollectionVo> list(BaseQueryParam queryParam, GptDatasetCollectionListParam param);

  GptDatasetCollectionVo convertVo(GptDatasetCollection gptdatasetcollection);

  List<GptDatasetCollectionVo> convertVo(List<GptDatasetCollection> gptdatasetcollectionList);

  GptDatasetCollectionVo create(GptDatasetCollectionCreateRequest param, MultipartFile file);

  GptDatasetCollection get(Long id);

  GptDatasetCollection update(Long id, GptDatasetCollection gptdatasetcollection);

  boolean delete(Long id, GptDatasetCollectionDeleteRequest param);
}
